-
Notifications
You must be signed in to change notification settings - Fork 69
Update default target-pod and inject it into response metadata #270
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: ahg-g The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
✅ Deploy Preview for gateway-api-inference-extension ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/hold
/lgtm
Just a few nits. Feel free to unhold.
Pls also update this gateway-api-inference-extension/docs/proposals/003-model-server-protocol/protocol.md Line 15 in f9d2ef9
|
@@ -118,6 +122,15 @@ func (s *Server) HandleRequestBody(reqCtx *RequestContext, req *extProcPb.Proces | |||
}, | |||
}, | |||
}, | |||
DynamicMetadata: &structpb.Struct{ | |||
Fields: map[string]*structpb.Value{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This LGTM.
@yanavlasov PTAL as well.
done |
/lgtm |
@@ -12,7 +12,7 @@ The EPP MUST implement the Envoy | |||
[external processing service](https://www.envoyproxy.io/docs/envoy/latest/api-v3/service/ext_proc/v3/external_processor)protocol. | |||
|
|||
For each HTTP request, the EPP MUST communicate to the proxy the picked model server endpoint, via | |||
adding the `target-pod` HTTP header in the request, or otherwise return an error. | |||
adding the `x-gateway-destination-endpoint` HTTP header in the request and as an unstructured entry in the [dynamic_metadata](https://github.com/envoyproxy/go-control-plane/blob/c19bf63a811c90bf9e02f8e0dc1dcef94931ebb4/envoy/service/ext_proc/v3/external_processor.pb.go#L320) field of the ext-proc response, or otherwise return an error. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just to clarify - we're setting this endpoint information here in two places to ensure a wide variety of implementations can support this? What should an implementation do if both values are set but differ? Should one have precedent over the other?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just to clarify - we're setting this endpoint information here in two places to ensure a wide variety of implementations can support this?
Correct.
What should an implementation do if both values are set but differ? Should one have precedent over the other?
Good point, I think we need to say that they must be not differ, and if they do, the behavior is unknown, this is because some gateway providers will always only look at one of them, wdyt?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, I think that's reasonable, just wanted to make sure we had it written out.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
Thanks @ahg-g! /lgtm |
/hold cancel |
Fixes #258
Fixes #181